package frames.listos;

import java.awt.Container;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.sql.Date;

import javax.swing.ImageIcon;
import javax.swing.JButton;
import javax.swing.JComboBox;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JMenu;
import javax.swing.JMenuBar;
import javax.swing.JMenuItem;
import javax.swing.JOptionPane;
import javax.swing.JSeparator;
import javax.swing.JTextField;
import javax.swing.WindowConstants;

import negocio.Sede;
import negocio.VehiculoMant;

import controlador.Sistema;



public class AutMantFrame extends JFrame {	
	
	private JMenuBar menuBar;
	private JComboBox jCmbCC;
	private JButton jBtnBuscar;
	private JTextField txtVehiculo;
	private JLabel jVehiculo;
	private JMenu mnAdmV;
	private JMenuItem mnAltaVeh;
	private JMenuItem mnBajaVeh;
	private JMenuItem mnModVeh;
	private JMenu mnAdmT;
	private JMenuItem mnAltaTec;
	private JTextField txtNumero;
	private JLabel jNumero;
	private JTextField txtHasta;
	private JLabel jHasta;
	private JLabel jDesde;
	private JTextField txtDesde;
	private JButton jBtnCancelar;
	private JButton jBtnAceptar;
	private JTextField txtEstado;
	private JLabel jEstado;
	private JLabel jCC;
	private JMenuItem mnBajaTec;
	private JMenuItem mnModTec;
	private JMenu mnMov;
	private JMenuItem mnRegisMov;	
	private JMenu mnMant;
	private JMenuItem mnGenMant;
	private JMenuItem mnAutMant;
	private JMenuItem mnGenRep;
	private JMenu mnAbout;
	private JMenuItem mnVersion;
	private JMenuItem mnSalir;	
	private JSeparator sep;	
	private JMenu mnReports;
	private Sistema sist;	
	private VehiculoMant vm;
	public AutMantFrame() {
		super();
		initGUI();
	}
	private void initGUI()
	{
		sist=Sistema.getInstance();
		try 
		{
			setDefaultCloseOperation(WindowConstants.DISPOSE_ON_CLOSE);
			getContentPane().setBackground(new java.awt.Color(255,255,255));
			this.setIconImage(new ImageIcon(getClass().getClassLoader().getResource("mgasbar.png")).getImage());
			getContentPane().setLayout(null);
			this.setTitle("MetroGas");
			{
				{
					jVehiculo = new JLabel();
					getContentPane().add(jVehiculo);
					jVehiculo.setText("Vehiculo: ");
					jVehiculo.setBounds(46, 50, 113, 24);
				}
				{
					txtVehiculo = new JTextField();
					getContentPane().add(txtVehiculo);
					txtVehiculo.setBounds(143, 51, 118, 22);
					txtVehiculo.setEnabled(false);
				}
				{
					jBtnBuscar = new JButton();
					getContentPane().add(jBtnBuscar);
					jBtnBuscar.setText("Buscar");
					jBtnBuscar.setBounds(270, 21, 94, 26);
				}
				jBtnBuscar.addActionListener(new ActionListener(){

					public void actionPerformed(ActionEvent arg0) {
						vm=sist.buscarMantenimiento(Integer.valueOf(txtNumero.getText()));
						txtEstado.setText(vm.getEstado());
						txtEstado.setEnabled(true);
						txtDesde.setText(String.valueOf(vm.getFecha_ingreso_taller()));
						txtDesde.setEnabled(true);
						txtHasta.setText(String.valueOf(vm.getFecha_egreso_taller()));
						txtHasta.setEnabled(true);
						jCmbCC.setSelectedItem(vm.getSede());
						jCmbCC.setEnabled(true);
						txtVehiculo.setText(String.valueOf(vm.getVehiculo().getDominio()));
						txtVehiculo.setEnabled(true);
						jBtnAceptar.setEnabled(true);
					}
					
				});
				{
					jCmbCC = new JComboBox(sist.getSedes());
					getContentPane().add(jCmbCC);
					//jCmbCC.setModel(jCmbCCModel);
					jCmbCC.setBounds(143, 84, 118, 24);
					jCmbCC.setEnabled(false);
				}
				{
					jCC = new JLabel();
					getContentPane().add(jCC);
					jCC.setText("Sede:");
					jCC.setBounds(45, 85, 113, 23);
				}
				{
					jEstado = new JLabel();
					getContentPane().add(jEstado);
					jEstado.setText("Estado: ");
					jEstado.setBounds(45, 114, 98, 28);
				}
				{
					txtEstado = new JTextField();
					getContentPane().add(txtEstado);
					txtEstado.setBounds(143, 120, 242, 148);
					txtEstado.setEnabled(false);
				}
				{
					jBtnAceptar = new JButton();
					getContentPane().add(jBtnAceptar);
					jBtnAceptar.setText("Aceptar");
					jBtnAceptar.setBounds(143, 294, 112, 30);
					jBtnAceptar.setEnabled(false);
				}
				jBtnAceptar.addActionListener(new ActionListener(){

					public void actionPerformed(ActionEvent arg0) {
						vm.setAprobado(true);
						sist.autorizar(Integer.valueOf(txtNumero.getText()));
						JOptionPane.showMessageDialog(null, "Autorizado", "Info", JOptionPane.INFORMATION_MESSAGE);
					}
					
				});
				{
					jBtnCancelar = new JButton();
					getContentPane().add(jBtnCancelar);
					jBtnCancelar.setText("Cancelar");
					jBtnCancelar.setBounds(260, 294, 115, 30);
				}
				jBtnCancelar.addActionListener(new ActionListener(){

					public void actionPerformed(ActionEvent arg0) {
						MenuFrame asd=new MenuFrame();
						dispose();
					}
					
				});
				
				{
					txtDesde = new JTextField();
					getContentPane().add(txtDesde);
					txtDesde.setText("dd/mm/aaaa");
					txtDesde.setBounds(532, 50, 115, 25);
					txtDesde.setEnabled(false);
				}
				{
					jDesde = new JLabel();
					getContentPane().add(jDesde);
					jDesde.setText("Desde: ");
					jDesde.setBounds(449, 52, 74, 20);
				}
				{
					jHasta = new JLabel();
					getContentPane().add(jHasta);
					jHasta.setText("Hasta: ");
					jHasta.setBounds(449, 83, 74, 27);
					
				}
				{
					txtHasta = new JTextField();
					getContentPane().add(txtHasta);
					txtHasta.setText("dd/mm/aaaa");
					txtHasta.setBounds(532, 84, 115, 25);
					txtHasta.setEnabled(false);
				}
				{
					jNumero = new JLabel();
					getContentPane().add(jNumero);
					jNumero.setText("Numero: ");
					jNumero.setBounds(46, 22, 84, 22);
				}
				{
					txtNumero = new JTextField();
					getContentPane().add(txtNumero);
					txtNumero.setBounds(142, 23, 122, 21);
				}
			}
			{
				{/*
					BufferedImage myPicture = ImageIO.read(new File("mgas.png"));
					lblLogo = new JLabel(new ImageIcon(myPicture));
					getContentPane().add(lblLogo);
					lblLogo.setBackground(new java.awt.Color(0,64,0));
					lblLogo.setBounds(429, 121, 150, 65);*/
				}
				
				
					menuBar = new JMenuBar();
					setJMenuBar(menuBar);
					{
						mnAdmV = new JMenu();
						menuBar.add(mnAdmV);
						mnAdmV.setText("Administrar Vehiculo");
						{
							mnAltaVeh = new JMenuItem();
							mnAdmV.add(mnAltaVeh);
							mnAltaVeh.setText("Alta");
							mnAltaVeh.addActionListener(new ActionListener() {
								public void actionPerformed(ActionEvent evt) {
									if(sist.getLogins().getTipoUsuario().equals("GUARDIA") || sist.getLogins().getTipoUsuario().equals("TECNICO")
											|| sist.getLogins().getTipoUsuario().equals("AUDITORIA"))
									{
										Container d=getContentPane();
										JOptionPane.showMessageDialog(d,"No tiene acceso","Error",JOptionPane.ERROR_MESSAGE);
									}else
									{
										AltaVehiculoFrame a = new AltaVehiculoFrame();
										a.setLocationRelativeTo(null);
										dispose();
									}
									
									
								}
							});
						}
						{
							sep = new JSeparator();
							mnAdmV.add(sep);
						}
						{
							mnBajaVeh = new JMenuItem();
							mnAdmV.add(mnBajaVeh);
							mnBajaVeh.setText("Baja");
							mnBajaVeh.addActionListener(new ActionListener() {
								public void actionPerformed(ActionEvent evt) {
									if(sist.getLogins().getTipoUsuario().equals("GUARDIA") || sist.getLogins().getTipoUsuario().equals("TECNICO")
											|| sist.getLogins().getTipoUsuario().equals("AUDITORIA"))
									{
										Container d=getContentPane();
										JOptionPane.showMessageDialog(d,"No tiene acceso","Error",JOptionPane.ERROR_MESSAGE);
									}else
									{
										BajaVehiculoFrame a = new BajaVehiculoFrame();
										a.setLocationRelativeTo(null);
										dispose();
									}
								}
							});
						}
						{
							sep = new JSeparator();
							mnAdmV.add(sep);
						}
						{
							mnModVeh = new JMenuItem();
							mnAdmV.add(mnModVeh);
							mnModVeh.setText("Modificar");
							mnModVeh.addActionListener(new ActionListener() {
								public void actionPerformed(ActionEvent evt) {
									
									if(sist.getLogins().getTipoUsuario().equals("GUARDIA") || sist.getLogins().getTipoUsuario().equals("TECNICO")
											|| sist.getLogins().getTipoUsuario().equals("AUDITORIA"))
									{
										Container d=getContentPane();
										JOptionPane.showMessageDialog(d,"No tiene acceso","Error",JOptionPane.ERROR_MESSAGE);
									}else
									{
										ModVehiculoFrame a = new ModVehiculoFrame();
										a.setLocationRelativeTo(null);
										dispose();
									}
								}
							});
						}					
					}
					{
						mnAdmT = new JMenu();
						menuBar.add(mnAdmT);
						mnAdmT.setText("Administrar Tecnico");
						{
							mnAltaTec = new JMenuItem();
							mnAdmT.add(mnAltaTec);
							mnAltaTec.setText("Alta");
							mnAltaTec.addActionListener(new ActionListener() {
								public void actionPerformed(ActionEvent evt) {
									
									if(sist.getLogins().getTipoUsuario().equals("GUARDIA") || sist.getLogins().getTipoUsuario().equals("TECNICO")
											|| sist.getLogins().getTipoUsuario().equals("AUDITORIA"))
									{
										Container d=getContentPane();
										JOptionPane.showMessageDialog(d,"No tiene acceso","Error",JOptionPane.ERROR_MESSAGE);
									}else
									{
										AltaTecnicoFrame a = new AltaTecnicoFrame();
										a.setLocationRelativeTo(null);
										dispose();
									}
								}
							});
						}
						{
							sep = new JSeparator();
							mnAdmT.add(sep);
						}
						{
							mnBajaTec = new JMenuItem();
							mnAdmT.add(mnBajaTec);
							mnBajaTec.setText("Baja");
							mnBajaTec.addActionListener(new ActionListener() {
								public void actionPerformed(ActionEvent evt) {
									

									if(sist.getLogins().getTipoUsuario().equals("GUARDIA") || sist.getLogins().getTipoUsuario().equals("TECNICO")
											|| sist.getLogins().getTipoUsuario().equals("AUDITORIA"))
									{
										Container d=getContentPane();
										JOptionPane.showMessageDialog(d,"No tiene acceso","Error",JOptionPane.ERROR_MESSAGE);
									}else
									{
										BajaTecnicoFrame a = new BajaTecnicoFrame();
										a.setLocationRelativeTo(null);
										dispose();
									}
								}
							});
						}
						{
							sep = new JSeparator();
							mnAdmT.add(sep);
						}
						{
							mnModTec = new JMenuItem();
							mnAdmT.add(mnModTec);
							mnModTec.setText("Modificar");
							mnModTec.addActionListener(new ActionListener() {
								public void actionPerformed(ActionEvent evt) {
									
									if(sist.getLogins().getTipoUsuario().equals("GUARDIA") || sist.getLogins().getTipoUsuario().equals("TECNICO")
											|| sist.getLogins().getTipoUsuario().equals("AUDITORIA"))
									{
										Container d=getContentPane();
										JOptionPane.showMessageDialog(d,"No tiene acceso","Error",JOptionPane.ERROR_MESSAGE);
									}else
									{
										ModTecnicoFrame a = new ModTecnicoFrame();
										a.setLocationRelativeTo(null);
										dispose();
									}
								}
							});
						}
					}
					{
						mnMov = new JMenu();
						menuBar.add(mnMov);
						mnMov.setText("Movimientos");
						{
							mnRegisMov = new JMenuItem();
							mnMov.add(mnRegisMov);
							mnRegisMov.setText("Registrar");
							mnRegisMov.addActionListener(new ActionListener() {
								public void actionPerformed(ActionEvent evt) {
									
									if(sist.getLogins().getTipoUsuario().equals("TECNICO")
											|| sist.getLogins().getTipoUsuario().equals("AUDITORIA"))
									{
										Container d=getContentPane();
										JOptionPane.showMessageDialog(d,"No tiene acceso","Error",JOptionPane.ERROR_MESSAGE);
									}else
									{
										RegisMovFrame a = new RegisMovFrame();
										a.setLocationRelativeTo(null);
										dispose();
									}
									
								}
							});
						}
					}
					{
						mnMant = new JMenu();
						menuBar.add(mnMant);
						mnMant.setText("Mantenimiento");
						{
							mnGenMant = new JMenuItem();
							mnMant.add(mnGenMant);
							mnGenMant.setText("Generar");
							mnGenMant.addActionListener(new ActionListener() {
								public void actionPerformed(ActionEvent evt) {
									
									if(sist.getLogins().getTipoUsuario().equals("GUARDIA") || sist.getLogins().getTipoUsuario().equals("AUDITORIA"))
									{
										Container d=getContentPane();
										JOptionPane.showMessageDialog(d,"No tiene acceso","Error",JOptionPane.ERROR_MESSAGE);
									}else
									{
										GenMantFrame a = new GenMantFrame();
										a.setLocationRelativeTo(null);
										dispose();
									}
								}
							});
						}
						{
							sep = new JSeparator();
							mnMant.add(sep);
						}
						{
							mnAutMant = new JMenuItem();
							mnMant.add(mnAutMant);
							mnAutMant.setText("Autorizar");
							mnAutMant.addActionListener(new ActionListener() {
								public void actionPerformed(ActionEvent evt) {
									
									if(sist.getLogins().getTipoUsuario().equals("GUARDIA") || sist.getLogins().getTipoUsuario().equals("TECNICO")
											|| sist.getLogins().getTipoUsuario().equals("AUDITORIA"))
									{
										Container d=getContentPane();
										JOptionPane.showMessageDialog(d,"No tiene acceso","Error",JOptionPane.ERROR_MESSAGE);
									}else
									{
										AutMantFrame a = new AutMantFrame();
										a.setLocationRelativeTo(null);
										dispose();
									}
								}
							});
						}
					}
					{
						mnReports = new JMenu();
						menuBar.add(mnReports);
						mnReports.setText("Reportes");
						{
							mnGenRep = new JMenuItem();
							mnReports.add(mnGenRep);
							mnGenRep.setText("Generar");
							mnGenRep.addActionListener(new ActionListener() {
								public void actionPerformed(ActionEvent evt) {
									
									if(sist.getLogins().getTipoUsuario().equals("GUARDIA") || sist.getLogins().getTipoUsuario().equals("TECNICO"))
									{
										Container d=getContentPane();
										JOptionPane.showMessageDialog(d,"No tiene acceso","Error",JOptionPane.ERROR_MESSAGE);
									}else
									{
										GenRepFrame a = new GenRepFrame();
										a.setLocationRelativeTo(null);
										dispose();
									}
								}
							});
						}
					}
				}
			setVisible(true);
			pack();
			this.setSize(700, 400);
		}catch (Exception e) {
		    //add your error handling code here
			e.printStackTrace();
		}
	}
}

